﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Espam.Idiomas.Decimo.Tesis.Datos;
using System.Data;
using System.Data.SqlClient;

namespace Espam.Idiomas.Decimo.Tesis.Negocio
{
   public class Semestre
    {
       public int idSemestre { get; set; }
       public string semestre { get; set; }
       public string estadoSemestre { get; set; }
    }
   public class ListadoSemestres : Semestre
   {
       public List<Semestre> GetSemestres()
       {
           BaseDatos oBase = new BaseDatos();
           SqlDataReader reader;
           List<Semestre> lista = new List<Semestre>();
           try
           {
               SqlCommand comando = new SqlCommand("sp_getSemestres", oBase.conexion);
               comando.CommandType = CommandType.StoredProcedure;
               oBase.Conectar();
               reader = comando.ExecuteReader();
               while (reader.Read())
               {
                   Semestre oSem = new Semestre();
                   oSem.idSemestre = reader.GetInt32(0);
                   oSem.semestre = reader.GetString(1);
                   oSem.estadoSemestre = reader.GetString(2);
                   lista.Add(oSem);
               }
           }
           catch (Exception)
           {
               lista = null;
           }
           finally
           {
               oBase.CerrarConexion();
           }
           return lista;
       }
       public string BlockSemestre()
       {
           SqlDataReader reader;
           BaseDatos oBase = new BaseDatos();
           string mensaje = "";
           try
           {
               SqlCommand comando = new SqlCommand("sp_blockSemestre", oBase.conexion);
               comando.CommandType = CommandType.StoredProcedure;
               comando.Parameters.AddWithValue("@idSemestre", idSemestre);
               //comando.Parameters.AddWithValue("@isBlock",block);
               oBase.Conectar();
               reader = comando.ExecuteReader();
               while (reader.Read())
               {
                   mensaje = reader.GetString(0);
               }
           }
           catch (Exception ex)
           {
               mensaje = ex.Message;
           }
           finally
           {
               oBase.CerrarConexion();
           }
           return mensaje;
       }
       public string ValidaBloqueo()
       {
           BaseDatos oBase = new BaseDatos();
           SqlDataReader reader;
           string mensaje = "";
           try
           {
               SqlCommand comando = new SqlCommand("sp_validaBloqueo", oBase.conexion);
               comando.CommandType = CommandType.StoredProcedure;
               comando.Parameters.AddWithValue("@semestre",idSemestre);
               oBase.Conectar();
               reader = comando.ExecuteReader();
               while (reader.Read())
               {
                   mensaje = reader.GetString(0);
               }
           }
           catch (Exception ex)
           {
               mensaje = ex.Message;
           }
           finally
           {
               oBase.CerrarConexion();
           }
           return mensaje;
       }
   }
}
